import { login } from "@/api/user"
import{ getToken, setToken, removeToken } from "@/utils/auth"
//存储数据
const state = {
  token: getToken()   //从缓存中读取初始值

}  
//修改数据
const mutations = {
  setToken(state, token) {
    state.token = token
    //同步到缓存
    setToken(token)
  },
  removeToken() {//退出登录时使用
    //删除Vuex的tronk
    state.token = null
    removeToken()
  }
}  
  //异步操作
const actions = {
  //传入参数的顺序：context上下文、传入参数
  async login(context,data) {
  console.log(data)
    //todo:调用登录接口
  const token = await  login(data)
    //返回一个token，
    context.commit('setToken',token)
  }
}

export default {  //默认导出
  namespaced: true,   //开启命名空间
  state,
  mutations,
  actions
}